// 安装微信SDK
// npm install weixin-js-sdk

// 在Vue组件中引入微信SDK
import wx from 'weixin-js-sdk';
import http from '../api/http.js'

// 创建一个Service来管理微信SDK
const WechatService = {
  init () {
    //alert(location.href.split('#')[0])
    http.fetchGet('/pd/getTicket?url=' + location.href.split('#')[0]).then((data) => {
      console.info(data.data.msg)
      if (data.data.msg != 'success') {
        this.$toast(data.data.msg)
      } else {
        const nonceStr = data.data.data.NonceStr;
        const signature = data.data.data.Signature
        const timestamp = data.data.data.Timestamp

        // 初始化微信SDK，传入必要的参数
        const configData = {
          debug: false,
          appId: 'wx31bbd830784df0f3',
          timestamp: timestamp,
          nonceStr: nonceStr,
          signature: signature,
          jsApiList: ['scanQRCode', 'checkJsApi'] // 需要使用的微信API列表，这里只列举了扫码功能
        };

        //console.info('11')
        wx.config(configData);
        //console.info('22')

        // 监听配置完成的事件
        wx.ready(() => {
          //alert('监听成功')
          console.log('Wechat SDK initialized');
          //alert(2)
          wx.checkJsApi({
            jsApiList: ['checkJsApi', 'scanQRCode'], // 需要检测的JS接口列表
            success: function (res) {
              // 输出检测结果
              // console.log('checkJsApi结果:', res);
            },
            fail: function (err) {
              // 输出错误信息
              //console.error('checkJsApi失败:', err);
            }
          });
        });

        // 监听配置失败的事件
        wx.error(error => {
          //alert('监听失败')
          console.error('Failed to initialize Wechat SDK:', error);
        });
      }
    }).catch(err => {
      console.log(err)
    }
    )


  },
  // 扫码方法
  scanQRCode (successCallback, errorCallback) {
    //alert(1)
    wx.scanQRCode({
      needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果
      scanType: ['qrCode', 'barCode'], // 可以指定扫码类型，['qrCode', 'barCode'] 允许同时扫描二维码和条形码
      success: res => {
        if (res.resultStr) {
          // 成功扫码后的逻辑处理
          successCallback(res.resultStr);
        } else {
          // 没有扫码结果的处理
          errorCallback('No scan result');
        }
      },
      fail: errorCallback // 扫码失败的回调
    });
  }
};

export default WechatService;
